home *** CD-ROM | disk | FTP | other *** search
/ Underground / Underground CD1.iso / other / how-to.pl / Alpha-HOWTO.pl.txt next >
Encoding:
Text File  |  1998-08-03  |  23.9 KB  |  595 lines

  1.   Alpha HOWTO
  2.   Autor: Neal Crook neal.crook@reo.mts.digital.com, Digital
  3.   Equipment
  4.   (edycja: David Mosberger davidm@azstarnet.com)
  5.   v0.11, 6 Czerwca 1997
  6.   Wersja polska: Leszek Urba±ski tygrys@fidonet.org.pl
  7.   v0.1, 22 Lipca 1998
  8.  
  9.  
  10.   Ten dokument jest og≤lnym przedstawieniem istniej▒cych procesor≤w
  11.   Alpha, chipset≤w do nich, oraz system≤w opartych na tych procesorach.
  12.   OpisujΩ sprzΩt, a nie oprogramowanie, ukazuj▒c m≤j obszar do╢wiad¡
  13.   czenia. Chocia┐ jestem pracownikiem Digital Equipment Corporation, nie
  14.   jest to oficjalna wypowied╝ Digitala, a wszystkie opinie tu wyra┐one
  15.   s▒ moimi opiniami, nie za╢ Digitala.  Dokument zosta│ napisany w stan¡
  16.   dardzie ISO-8859-2. Orygina│ tego dokumentu znajduje siΩ pod adresem
  17.   http://www.azstarnet.com/~axplinux/.
  18.   ______________________________________________________________________
  19.  
  20.   Table of Contents
  21.  
  22.  
  23.   1. Co to jest Alpha
  24.  
  25.   2. Czym jest Digital Semiconductor
  26.  
  27.   3. Procesory Alpha
  28.  
  29.   4. Wydajno╢µ 21064 i 21066
  30.  
  31.   5. Kilka uwag o zegarach
  32.  
  33.   6. Chipsety
  34.  
  35.   7. P│yty g│≤wne
  36.  
  37.   8. O bajtach
  38.  
  39.   9. PALcode
  40.  
  41.   10. Przenoszenie systemu na AlphΩ
  42.  
  43.   11. WiΩcej informacji
  44.  
  45.   12. Bibliografia
  46.  
  47.   13. Od t│umacza
  48.  
  49.  
  50.  
  51.   ______________________________________________________________________
  52.  
  53.   1.  Co to jest Alpha
  54.  
  55.  
  56.   Alpha jest 64-bitow▒ architektur▒ RISC Digitala. Projekt Alpha zosta│
  57.   rozpoczΩty w po│owie 1989 roku, jego celem by│o stworzenie
  58.   wysokowydajnej alternatywy dla u┐ytkownik≤w VAX'a. Nie by│a to
  59.   pierwsza architektura RISC zaprojektowana przez Digitala, ale jako
  60.   pierwsza osi▒gnΩ│a sukces rynkowy. Kiedy Digital og│osi│
  61.   wyprodukowanie Alphy w marcu 1992, zdecydowa│ siΩ wej╢µ na rynek
  62.   p≤│przewodnik≤w, sprzedaj▒c mikroprocesory Alpha.
  63.  
  64.   Alpha jest czasami nazywana Alph▒ AXP, z tajemniczych powod≤w, kt≤re
  65.   nie s▒ warte wyja╢niania. Wystarczy powiedzieµ, ┐e jest to jedno i to
  66.   samo.
  67.   2.  Czym jest Digital Semiconductor
  68.  
  69.  
  70.   Digital Semiconductor (DS) jest oddzia│em firmy Digital Equipment
  71.   Corporation (Digital - nie lubimy nazwy DEC), kt≤ry sprzedaje
  72.   p≤│przewodniki. Do produkt≤w Digitala zaliczaj▒ siΩ procesory (CPU),
  73.   chipsety, mostki PCI-PCI i uk│ady peryferyjne PCI dla telekomunikacji
  74.   i multimedi≤w.
  75.  
  76.  
  77.   3.  Procesory Alpha
  78.  
  79.  
  80.   Obecnie istniej▒ dwie generacje rdzenia CPU (core), kt≤re s▒
  81.   implementacj▒ architektury Alpha:
  82.  
  83.  
  84.   ╖  EV4
  85.  
  86.   ╖  EV6
  87.  
  88.   S▒ r≤┐ne opinie na temat znaczenia ,,EV'' (uwaga D.M.: prawdziwa
  89.   odpowied╝ to oczywi╢cie ,,Electro Vlassic" ``[1]''), numer odpowiada
  90.   generacji technologii CMOS Digitala, w kt≤rej zosta│ wykonany rdze±. A
  91.   wiΩc EV4 by│ pierwotnie zaimplementowany w CMOS4. Z biegiem czasu,
  92.   procesor zwiΩksza swoj▒ wydajno╢µ, poprzez optyczne pomniejszenie do
  93.   nastΩpnej generacji procesu CMOS. EV45 jest wiΩc rdzeniem EV4
  94.   zaimplementowanym w technologii CMOS5. Istnieje du┐a r≤┐nica pomiΩdzy
  95.   dostosowywaniem projektu do danej technologii, a implementowaniem go
  96.   od podstaw w tej technologii (nie bΩdΩ siΩ jednak teraz w to
  97.   wg│Ωbia│). Jest te┐ parΩ innych symboli: CMOS4S (pomniejszenie CMOS4)
  98.   i CMOS5L.
  99.  
  100.   Prawdziwi technofile bΩd▒ chcieli wiedzieµ, ┐e CMOS4 jest technologi▒
  101.   0.75 mikronow▒, CMOS5 jest technologi▒ 0.5 mikronow▒, a CMOS6 0.35
  102.   mikronow▒.
  103.  
  104.   A oto konkretne procesory z r≤┐nymi rdzeniami:
  105.  
  106.   21064-150,166
  107.  
  108.  
  109.        EV4 (pierwotnie), EV4S (obecnie)
  110.  
  111.  
  112.   21064-200
  113.  
  114.  
  115.        EV4S
  116.  
  117.  
  118.   21064A-233,275,300
  119.  
  120.  
  121.        EV45
  122.  
  123.  
  124.   21066
  125.  
  126.  
  127.        LCA4S (rdze± EV4, z jednostk▒ zmiennoprzecinkow▒ EV4)
  128.  
  129.  
  130.   21066A-233
  131.  
  132.  
  133.        LCA45 (rdze± EV4, ale z jednostk▒ zmiennoprzecinkow▒ EV45)
  134.  
  135.  
  136.   21164-233,300,333
  137.  
  138.  
  139.        EV5
  140.  
  141.  
  142.   21164A-417
  143.  
  144.  
  145.        EV56
  146.  
  147.  
  148.   21264
  149.  
  150.  
  151.        EV6
  152.  
  153.  
  154.   Rdze± EV4 jest dwuinstrukcyjny (dual-issue), znaczy to, ┐e mo┐e
  155.   wykonaµ dwie instrukcje na jednostkΩ zegara, posiada superpotokowy
  156.   rdze± z jednostk▒ liczb ca│kowitych (superpipelined core with integer
  157.   unit), jednostkΩ zmiennoprzecinkow▒ i przewidywanie instrukcji (branch
  158.   prediction). Jest w pe│ni krosowalny (bypassed), korzysta z
  159.   technologii 64-bitowej i o╢miokilobajtowych pamiΩci cache, po jednej
  160.   dla Instrukcji i Danych. Jednostki cache obs│uguj▒ technologiΩ
  161.   ,,write-through'' - nigdy nie zostaj▒ ,,zanieczyszczone''.
  162.  
  163.   Rdze± EV45 ma parΩ usprawnie± w stosunku do EV4 - usprawniono trochΩ
  164.   jednostkΩ zmiennoprzecinkow▒ i dodano 16KB cache (po jednym dla
  165.   Instrukcji i Danych, obs│uguje parzysto╢µ). (uwaga D.M.: w wiadomo╢ci
  166.   email Neil Crook zauwa┐y│, ┐e zmiany w jednostce FPU (jednostka
  167.   zmiennoprzecinkowa, ang. floating point unit) poprawiaj▒ wydajno╢µ
  168.   podzielnika. Podzielnikowi FPU EV4 dzielenie o pojedy±czej precyzji
  169.   zabiera 34 cykle zegara, a dzielenie o podw≤jnej precyzji 63 cykle
  170.   (niezale┐nie od danych). Dla por≤wnania FPU EV45 zabiera to zwykle 19
  171.   cykli (do 34) i 29 cykli (do 63) (zale┐nie od danych).)
  172.  
  173.   Rdze± EV5 jest czteroinstrukcyjny, superpotokowany, w pe│ni krosowalny
  174.   itp. Posiada 8 kilobajtowe pamiΩci cache, po jednej dla I i D. Cache
  175.   te obs│uguj▒ metodΩ ,,write-through''. Ma te┐ 96 kilobajtowy
  176.   tr≤jdro┐ny cache drugiego poziomu Scache (w procesorze), u┐ywaj▒cy
  177.   metody ,,write-back'' (mo┐e zostaµ zanieczyszczony).  Ca│kowity wzrost
  178.   wydajno╢ci EV4->EV5 jest wiΩkszy ni┐ wzrost spowodowany samym
  179.   zwiΩkszeniem szybko╢ci zegara. Zosta│a te┐ ulepszona
  180.   mikroarchitektura, dla zmniejszenia op≤╝nie± producenta/klienta na
  181.   niekt≤rych trasach danych.
  182.  
  183.   EV56 posiada mikroarchitekturΩ podobn▒ do EV5, jednak┐e dodaje nowe
  184.   instrukcje dla 8 i 16-bitowych obci▒┐e± (zobacz sekcjΩ ,,``O
  185.   bajtach''''. Instrukcje te znajduj▒ zastosowanie g│≤wnie w
  186.   sterownikach urz▒dze±. Rdze± EV56 jest zaimplementowany w CMOS6, kt≤ry
  187.   jest technologi▒ 2.0V.
  188.  
  189.   21064 zosta│ uko±czony w marcu 1992. U┐ywa rdzenia EV4, ze 128-bitow▒
  190.   szyn▒ danych.  Szyna obs│uguje ,,│atwe'' pod│▒czenie zewnΩtrznego
  191.   cache'u drugiego poziomu, z rozmiarem bloku 256 bit≤w. Zegar Bcache
  192.   jest konfigurowalny ca│kowicie programowo.  21064 mo┐e te┐ byµ
  193.   skonfigurowana do u┐ywania 64-bitowej szyny zewnΩtrznej (nie jestem
  194.   jednak pewien, czy jakakolwiek p│yta g│≤wna dostΩpna w sprzeda┐y u┐ywa
  195.   tego trybu). 21064 nie wymusza ┐adnego sposobu u┐ywania Bcache'u,
  196.   jednak┐e zazwyczaj jest on skonfigurowany jako write-back cache. 21064
  197.   zawiera obej╢cia pozwalaj▒ce zewnΩtrznemu sprzΩtowi utrzymaµ zgodno╢µ
  198.   cache'u z Bcache'm i wewnΩtrzn▒ pamiΩci▒ podrΩczn▒, ale nie polecam
  199.   tego sposobu.
  200.  
  201.   21066 u┐ywa rdzenia EV6; zawiera wewnΩtrzny kontroler pamiΩci oraz
  202.   mostek PCI. Dla oszczΩdzania wyprowadze± procesora, kontroler pamiΩci
  203.   ma 64-bitow▒ szynΩ danych (ale wewnΩtrzne pamiΩci podrΩczne maj▒
  204.   rozmiar blokowy 256 bit≤w, tak jak 21064, a wiΩc wype│nienie bloku
  205.   zajmuje 4 cykle zegara szyny). Kontroler pamiΩci obs│uguje zewnΩtrzny
  206.   Bcache i zewnΩtrzne DRAM'y. CzΩstotliwo╢µ zegara Bcache i DRAM'≤w jest
  207.   konfigurowana ca│kowicie programowo, mo┐e byµ dostosowana do
  208.   rozdzielczo╢ci cyklu zegara CPU. Czterocyklowy proces wype│niania
  209.   bloku cache nie jest taki z│y, na jaki wygl▒da, poniewa┐ dostΩp do
  210.   DRAM'u dzia│a w trybie stronicowania. Niestety, kontroler pamiΩci nie
  211.   obs│uguje ┐adnego z nowych ezoterycznych DRAM'≤w (SDRAM, EDO lub
  212.   BEDO), ani synchronicznych RAM pamiΩci podrΩcznej. Interfejs szyny PCI
  213.   jest w pe│ni zgodny z norm▒ rev2.0 i dzia│a na czΩstotliwo╢ci 33MHz.
  214.  
  215.   21164 ma 128-bitow▒ szynΩ danych; obs│uguje odczyt rozdzielony (split
  216.   read), do 2 odczyt≤w na raz (pozwala to na stuprocentowe wykorzystanie
  217.   szyny danych w idealnych warunkach - mo┐na teoretycznie przesy│aµ 128
  218.   bit≤w danych w ka┐dym cyklu zegara szyny). 21164 pozwala na │atwe
  219.   pod│▒czenie zewnΩtrznego cache'u trzeciego poziomu (Bcache), pozwala
  220.   na synchronizacjΩ zewnΩtrznych system≤w ze wszystkimi pamiΩciami
  221.   podrΩcznymi. Rozwi▒zania wieloprocesorowe s▒ wiΩc │atwe do
  222.   zaimplementowania.
  223.  
  224.   21164A zosta│ uko±czony w pa╝dzierniku 1995. U┐ywa rdzenia EV56; jego
  225.   wyprowadzenia s▒ kompatybilne z 21164, jednak wymaga on oddzielnych
  226.   szyn zasilaj▒cych - wszystkie piny zasilania pobieraj▒ce +3.3V w 21164
  227.   zosta│y podzielone na dwie grupy; jedna pobiera 2.0V dla rdzenia CPU,
  228.   a druga 3.3V dla sekcji I/O (wej╢cia-wyj╢cia).  Inaczej ni┐ w innych
  229.   implementacjach, wyprowadzenia 21164 nie toleruj▒ piΩciu wolt≤w.
  230.   Rezultatem tych zmian jest niekompatybilno╢µ p│yt g│≤wnych 21164 z
  231.   procesorami 21164A (zauwa┐ jednak, ┐e zaprojektowanie p│yty 21164A
  232.   obs│uguj▒cej 21164 nie by│oby trudne). 21164A ma te┐ kilka nowych
  233.   wyprowadze± dla obs│ugi nowych 8 i 16-bitowych obci▒┐e±. Polepsza te┐
  234.   obs│ugΩ synchronicznych SRAM'≤w do implementacji zewnΩtrznego Bcache.
  235.  
  236.  
  237.   4.  Wydajno╢µ 21064 i 21066
  238.  
  239.  
  240.   21064 i 21066 maj▒ ten sam rdze± (EV4). Je┐eli ten sam program
  241.   zostanie uruchomiony na 21064 i 21066, przy takiej samej szybko╢ci
  242.   zegara, r≤┐nica w wydajno╢ci jest tylko rezultatem [wiΩkszej]
  243.   przepustowo╢ci Bcache/pamiΩci. Ka┐dy w▒tek kodu, maj▒cy du┐y
  244.   wsp≤│czynnik wsp≤│pracy z wewnΩtrznymi pamiΩciami cache, bΩdzie
  245.   wykonywa│ siΩ tak samo na obu jednostkach. Istniej▒ dwa g│≤wne
  246.   ograniczniki wydajno╢ci:
  247.  
  248.  
  249.   1. Kod kt≤ry wykonuje du┐▒ liczbΩ zapisywa±. Chocia┐ 21064 i 21066
  250.      maj▒ bufory zapisu, ┐eby pokryµ niekt≤re op≤╝nienia to i tak kod
  251.      kt≤ry intensywnie zapisuje bΩdzie zd│awiony przez przepustowo╢µ
  252.      zapisu na szynie systemowej. To zjawisko zwiΩksza siΩ, poniewa┐
  253.      wewnΩtrzna pamiΩµ podrΩczna cache dzia│a w trybie ,,write-
  254.      through''.
  255.  
  256.   2. Kod, kt≤ry chce traktowaµ liczby zmiennoprzecinkowe (float) jako
  257.      ca│kowite (integer).  Architektura Alphy nie pozwala na przysy│anie
  258.      w trybie rejestr-rejestr z rejestr≤w ca│kowitych na
  259.      zmiennoprzecinkowe. Taka konwersja musi byµ dokonana w pamiΩci (i
  260.      dlatego, poniewa┐ wewnΩtrzna pamiΩµ podrΩczna dzia│a w trybie w-t,
  261.      w Bcache).  (uwaga D.M.: wygl▒da na to, ┐e zar≤wno EV4, jak i EV45
  262.      mog▒ wykonaµ konwersjΩ przez podstawowy cache danych (Dcache),
  263.      zak│adaj▒c, ┐e pamiΩµ jest ju┐ stronicowana.  W takim przypadku,
  264.      zawarto╢µ sekwencji konwersji bΩdzie uaktualniaµ Dcache, a kolejne
  265.      obci▒┐enie jest w stanie, pod pewnymi warunkami, odczytaµ
  266.      uaktualnion▒ warto╢µ d-cache, zapobiegaj▒c ka┐dorazowemu obej╢ciu
  267.      trasy przez Bcache.  W praktyce, najlepiej jest wykonywaµ
  268.      instrukcje stq/ldt lub stt/ldq jednocze╢nie, co jest jednak
  269.      nieintuicyjne.
  270.  
  271.   Je┐eli por≤wnasz 21064A i 21066A, powstaje dodatkowy czynnik w postaci
  272.   r≤┐nych rozmiar≤w Icache i Dcache w tych procesorach.
  273.  
  274.   21164 rozwi▒zuje oba problemy: osi▒ga znacznie wiΩksze przepustowo╢ci
  275.   szyny systemowej (pomimo tego, ┐e ma tak▒ sam▒ ilo╢µ wyprowadze±
  276.   sygna│owych - tak, wiem, ┐e ma dwa razy wiΩcej pin≤w ni┐ 21064, ale
  277.   wszystkie dodatkowe to zasilanie i masa! (tak, naprawdΩ!!)), posiada
  278.   r≤wnie┐ pamiΩµ podrΩczn▒ pracuj▒c▒ w trybie write-back. Jedyny
  279.   problem, kt≤ry pozostaje, to odpowied╝ na pytanie ,,ile kosztuje?''.
  280.  
  281.  
  282.   5.  Kilka uwag o zegarach
  283.  
  284.  
  285.   Wszystkie obecnie produkowane procesory Alpha u┐ywaj▒ szybkich
  286.   zegar≤w, poniewa┐ ich mikroarchitektury zosta│y zaprojektowane w tzw.
  287.   systemie kr≤tkich cykli zegara (short-tick design). Dlatego te┐ ┐adna
  288.   z szyn systemowych nie musi dzia│aµ z potwornymi prΩdko╢ciami.
  289.  
  290.  
  291.   ╖  W 21066(A), 21064(A) i 21164 zewnΩtrzna pamiΩµ cache (Bcache) jest
  292.      ca│kowicie pogramowalna, nawet do rozdzielczo╢ci zegara CPU. Na
  293.      przyk│ad w 275MHz-owym procesorze czas dostΩpu czytania Bcache mo┐e
  294.      byµ kontrolowany z szybko╢ci▒ 3.6ns.
  295.  
  296.   ╖  W 21066(A) zegar DRAM jest tak┐e programowalny, do rodzielczo╢ci
  297.      zegara CPU (nie zegara PCI, zegara procesora).
  298.  
  299.   ╖  W 21064(A) i 21164(A), czΩstotliwo╢µ szyny systemowej jest
  300.      mno┐nikiem czΩstotliwo╢ci zegara CPU. WiΩkszo╢µ p│yt g│≤wnych 21064
  301.      taktuje szynΩ systemow▒ zegarem o czΩstotliwo╢ci 33MHz.
  302.  
  303.   ╖  P│yty g│≤wne, u┐ywaj▒ce 21066 mog▒ taktowaµ PCI ka┐d▒
  304.      czΩstotliwo╢ci▒ relatywn▒ do czΩstotliwo╢ci CPU. Jednak┐e PCI
  305.      powinno byµ taktowane czΩstotliwo╢ci▒ 33MHz.
  306.  
  307.   ╖  P│yty u┐ywaj▒ce chipsetu APECS (zobacz sekcjΩ ``Chipsety'') taktuj▒
  308.      szynΩ systemow▒ czΩstotliwo╢ci▒ r≤wn▒ czΩstotliwo╢ci szyny PCI.
  309.      Znaczy to, ┐e obie szyny dzia│aj▒ zwykle na 25 lub 33MHz (poniewa┐
  310.      te czΩstotliwo╢ci po pomno┐eniu s▒ r≤wne czΩstotliwo╢ci procesora).
  311.      Zegar kontrolera DRAM na p│ytach APECS jest ustawiany programowo w
  312.      granicach czΩstotliwo╢ci szyny systemowej procesora.
  313.  
  314.   Uwaga: Kto╢ zasugerowa│, ┐e wydajno╢µ jego 21066 by│a za niska,
  315.   poniewa┐ kontroler pamiΩci tego procesora pracowa│ tylko na 33MHz.
  316.   Jednak superszybkie systemy 21064A posiadaj▒ kontrolery pamiΩci
  317.   taktowane ,,tylko'' 33MHz.
  318.  
  319.  
  320.   6.  Chipsety
  321.  
  322.  
  323.  
  324.   DS sprzedaje dwa chipsety wspomagaj▒ce CPU. Chipset 2107x (APECS)
  325.   obs│uguje 21064(A), a 2117x (ALCOR) obs│uguje 21164. Zapowiadany jest
  326.   2117xA (ALCOR 2), stosowany w 21164A.
  327.  
  328.   Oba chipsety posiadaj▒ kontrolery pamiΩci i mostki PCI dla procesor≤w.
  329.   APECS korzysta z 32-bitowego mostka PCI, ALCOR natomiast z
  330.   64-bitowego, kt≤ry (zgodnie z wymaganiami specyfikacji PCI) mo┐e
  331.   obs│ugiwaµ zar≤wno 32, jak i 64-bitowe urz▒dzenia PCI.
  332.  
  333.   APECS sk│ada siΩ z 6 208-pinowych uk│ad≤w (cztery 32-bitowe
  334.   prze│▒czniki danych (DECADE), jeden kontroler systemu (COMANCHE),
  335.   jeden kontroler PCI (EPIC)).  Zapewnia kontroler DRAM (128-bitowa
  336.   szyna pamiΩci) i interfejs PCI. Wykonuje te┐ ca│▒ pracΩ potrzebn▒ do
  337.   utrzymania zgodno╢ci pamiΩci, kiedy urz▒dzenie PCI wykonuje
  338.   bezpo╢redni dostΩp do/z pamiΩci (ang. DMA, Direct Memory Acces).
  339.  
  340.   ALCOR zawiera 5 uk│ad≤w (4 64-bitowe prze│▒czniki danych (Data Switch,
  341.   DSW) - 208-pinowe PQFP i jeden kontrolny (Kontrola, Adresy I/O, CIA) -
  342.   383-pinowy plastykowy PGA). Zapewnia kontroler DRAM (265-bitowa szyna
  343.   pamiΩci), oraz interfejs PCI. W ten sam spos≤b co APECS obs│uguje DMA.
  344.  
  345.   Nie istnieje chipset dla 21066, poniewa┐ kontroler pamiΩci i mostek
  346.   PCI s▒ zintegrowane z procesorem.
  347.  
  348.  
  349.   7.  P│yty g│≤wne
  350.  
  351.  
  352.   Grupa in┐ynieryjna DS produkuje wzorcowe projekty, u┐ywaj▒ce Alphy i
  353.   w/w chipsety.  S▒ to w wiΩkszo╢ci p│yty rozmiaru PC-AT, z
  354.   funkcjonalno╢ci▒ nowoczesnej p│yty g│≤wnej do Pentium. Pierwotnie te
  355.   przyk│adowe p│yty mia│y byµ u┐ywane jako punkty startu dla firm
  356.   produkuj▒cych tego typu produkty. Te projekty pierwszej generacji by│y
  357.   nazywane p│ytami ewaluacyjnymi (Evaluation Board, EB).  Poniewa┐ ilo╢µ
  358.   czynno╢ci in┐ynieryjnych potrzebnych do wykonania p│yty g│≤wnej
  359.   wzros│a (z powodu zegar≤w o du┐ych prΩdko╢ciach i norm emisji i
  360.   podatno╢ci na zak│≤cenia), nacisk zosta│ postawiony na produkcjΩ p│yt
  361.   g│≤wnych nadaj▒cych siΩ do sprzeda┐y detalicznej.
  362.  
  363.   Oddzia│y p│yt g│≤wnych Digitala wyprodukowa│y kilka generacji maszyn
  364.   u┐ywaj▒cych procesor≤w Alpha. Niekt≤re z tych system≤w u┐ywaj▒ logiki
  365.   wspomagaj▒cej zaprojektowanej przez te oddzia│y, a inne chipset≤w DS.
  366.   W niekt≤rych przypadkach, p│yty u┐ywaj▒ kombinacji obu tych technik.
  367.  
  368.   R≤zne firmy produkuj▒ p│yty u┐ywaj▒ce procesor≤w Alpha. Niekt≤re
  369.   projektuj▒ systemy od podstaw, inne za╢ u┐ywaj▒ chipset≤w DS,
  370.   powielaj▒ lub modyfikuj▒ przyk│adowe projekty Digitala, a nawet
  371.   produkuj▒ komputery oparte na zbudowanych i przetestowanych p│ytach
  372.   DS.
  373.  
  374.   EB64: Nie u┐ywana ju┐ p│yta do 21064 z kontrolerem pamiΩci
  375.   wykorzystuj▒cym logikΩ programowaln▒. Wej╢cie/Wyj╢cie jest zapewnione
  376.   przez u┐ycie logiki programowalnej do interfejsowania uk│adu-mostu
  377.   486<->ISA. Wbudowany Ethernet, SuperI/O (2 p. szeregowe, 1 p.
  378.   r≤wnoleg│y, FDD) i ISA. Rozmiar PC-AT. Wykorzystuje standardowe
  379.   zasilacze PC.
  380.  
  381.   EB64+: Do 21064/21064A (wykorzystuje APECS). Posiada szyny ISA i PCI
  382.   (3 ISA, 2 PCI, jedna para jest dzielona). Obs│uguje 36-bitowe SIMM'y
  383.   DRAM.  Most do ISA'y jest tworzony za pomoc▒ mostka Intel SaturnI/O
  384.   PCI-ISA.  P│yta posiada wbudowany kontroler SCSI (NCR 810 na PCI),
  385.   Ethernet (Digital 21040), kontroler klawiatury i myszy (z│▒cze PS/2),
  386.   SuperI/O (2 sz. 1 r., FDD), RTC (ang. Real Time Clock - zegar czasu
  387.   rzeczywistego - przyp. t│um.)/NVRAM. Boot ROM to EPROM (to niedobrze -
  388.   vide MILO HOWTO - przyp. t│um.). Rozmiar PC-AT.  Wykorzystuje
  389.   standardowe zasilacze PC.
  390.  
  391.   EB66: Do 21066 lub 21066A. Podsystem Wej╢cia/Wyj╢cia jest identyczny
  392.   do EB64+. Rozmiar PC-AT. Wykorzystuje standardowe zasilacze PC.
  393.   Schemat EB66 zosta│ opublikowany jako plakat reklamowy dla 21066 jako
  394.   "pierwszy mikroprocesor na ╢wiecie posiadaj▒cy wewnΩtrzny kontroler
  395.   PCI" (dla fan≤w plotek: s▒ dwie wersje tego plakatu - ja narysowa│em
  396.   obwody i napisa│em has│o [reklamowe] dla pierwszej, a jacy╢ Amerykanie
  397.   zmienili has│o dla drugiej wersji).
  398.  
  399.   EB164: Do 21164 (i to jest w IMHO najlepszy wyb≤r - sam na takim
  400.   systemie pracujΩ - a pracowa│em na wielu alfach - przyp. t│um.), u┐ywa
  401.   ALCOR'a.  Posiada szyny ISA i PCI (3 sloty ISA, 2 64-bitowe sloty PCI
  402.   (jeden jest wsp≤│dzielony ze slotem ISA) i dwa 32-bitowe sloty PCI).
  403.   U┐ywa SIMM'≤w ,,plug-in'' do Bcache. Podsystem I/O zawiera SuperI/O (2
  404.   sz., 1 r., FDD), kontroler klawiatury i myszy (z│▒cze PS/2),
  405.   RTC/NVRAM. Boot ROM to Flash (EEPROM - przyp. t│um.).  Rozmiar p│yty
  406.   PC-AT. Wymaga zasilacza o napiΩciu 3.3V.
  407.  
  408.   AlphaPC64 (Cabriolet): pochodzi od EB64+, ale teraz to p│yta baby-AT z
  409.   Flash Boot ROM. Nie posiada kontrolera SCSI ani Ethernetu. Trzy sloty
  410.   ISA, cztery sloty PCI (jedna para to slot dzielony), u┐ywa SIMM'≤w
  411.   Bcache typu ,,plug-in''. Wymaga zasilacza o napiΩciu 3.3V.
  412.  
  413.   AXPpci33 (NoName): jest bazowany na EB66. Ta p│yta jest produkowana
  414.   przez Techniczny OEM (TOEM) Digitala. Jest przeznaczona dla procesora
  415.   21066 o szybko╢ci 166MHz albo 233MHz. Jest to p│yta rozmiaru baby-AT i
  416.   wykorzystuje standardowe zasilacze PC. Posiada 5 slot≤w ISA i 3 sloty
  417.   PCI (jedna para jest dzielona). S▒ dwie wersje p│yty - ze z│▒czami
  418.   klawiatury typu PS/2 lub du┐ego DIN.
  419.  
  420.   Inne p│yty g│≤wne dla procesor≤w 21066: wiΩkszo╢µ, je┐eli nie
  421.   wszystkie p│yty dla 21066 s▒ bazowane na EB66 - nie ma wielu rozwi▒za±
  422.   systemowych dla p│yt 21066, poniewa┐ kontrola jest wykonywana w
  423.   procesorze.
  424.  
  425.   Multia (Universal Desktop Box): Jest to bardzo ma│y system podstawowy,
  426.   wykorzystuj▒cy 21066. Na p│ycie znajduj▒ siΩ: 2 gniazda PCMCIA, chip
  427.   grafiki TGA (21030), Ethernet (chip 21040), kontroler SCSI NCR 810,
  428.   oraz kontroler stacji dysk≤w, dwa porty szeregowe i jeden r≤wnoleg│y.
  429.   Ma ma│e mo┐liwo╢ci rozszerzenia (jeden slot PCI), ze wzglΩdu na ma│y
  430.   rozmiar. (Jest jakie╢ ograniczenie w u┐ywaniu slotu PCI, nie pamiΩtam
  431.   jakie) (Zauwa┐, ┐e s▒ te┐ Multie do 21066A i Pentium).
  432.  
  433.   DEC PC 150 AXP (Jensen): Jest to bardzo stary system Digitala - jeden
  434.   z system≤w Alpha pierwszej generacji. Jest tutaj za│▒czony tylko z
  435.   powodu dostΩpno╢ci takich p│yt na rynku komputer≤w u┐ywanych. Jensen
  436.   jest stoj▒c▒ na pod│odze wie┐▒. U┐ywa 150MHz 21064 (p≤╝niejsze wersje
  437.   u┐ywa│y szybszych procesor≤w, ale nie jestem pewien co do prΩdko╢ci).
  438.   P│yta u┐ywa│a logiki programowalnej do interfejsowania mostu 486 EISA
  439.   - CPU.
  440.  
  441.   Inne systemy 21064(A): Istniej▒ 3 lub 4 p│yty (nie za│▒czam tu
  442.   system≤w Digitala) i wszystkie, kt≤re znam, wyeluowa│y z EB64+. S▒ to:
  443.  
  444.  
  445.   ╖  EB64+ (niekt≤rzy sprzedawcy pakowali p│ytΩ i sprzedawali j▒ bez
  446.      modyfikacji); rozmiar AT.
  447.  
  448.   ╖  Krewny EB64+ firmy Aspen Systems; rozmiar baby-AT.
  449.  
  450.   ╖  P│yta serwera firmy Aspen Systems; du┐o slot≤w PCI (razem z mostem
  451.      PCI).
  452.  
  453.   ╖  AlphaPC64 (Cabriolet), rozmiar baby-AT.
  454.  
  455.   Inne systemy 21164(A): Jedyne, kt≤re znam, a nie s▒ klonami EB164, to
  456.   p│yta wykonana przez DeskStation. System ten zosta│ zaimplementowany
  457.   przy u┐yciu kontroler≤w I/O oraz pamiΩci stosowanych przez
  458.   DeskStation. Nie znam ich stosunku do Linuxa.
  459.  
  460.  
  461.  
  462.  
  463.   8.  O bajtach
  464.  
  465.  
  466.   Kiedy architektura Alpha zosta│a przedstawiona, by│a unikalna po╢r≤d
  467.   innych architektur RISC z powodu przetwarzania 8 i 16-bitowych
  468.   obci▒┐e± i zmiennych.  Wspomaga│a te┐ 32 i 64-bitowe. (,,longword'' i
  469.   ,,quadword'' wg. nomenklatury Digitala). Projektanci (Dick Sites, Rich
  470.   Witek) wyja╢nili t▒ decyzjΩ nastΩpuj▒cymi zaletami:
  471.  
  472.  
  473.   1. Obs│uga bajt≤w w pamiΩci podrΩcznej i podsystemie pamiΩci zwykle
  474.      zwalnia dostΩp do 32 i 64-bitowych danych.
  475.  
  476.   2. Obs│uga bajt≤w czyni ciΩ┐kim zbudowanie uk│adu korekcji b│Ωd≤w
  477.      cache/pamiΩci o du┐ej prΩdko╢ci.
  478.  
  479.   Alpha kompensuje to przez zapewnienie silnych instrukcji
  480.   manipuluj▒cych grupami bajt≤w w rejestrach 64-bitowych. Standardowe
  481.   programy testuj▒ce operacje na │a±cuchach (strings) (np. programy
  482.   testuj▒ce magazynu ,,Byte'') pokazuj▒, ┐e wydajno╢µ Alphy jest bardzo
  483.   wysoka przy operacjach na bajtach.
  484.  
  485.   Absencja bajtowych obci▒┐e± i │adunk≤w zmienia dzia│anie prze│▒cznik≤w
  486.   (semaphores) w oprogramowaniu, oraz podsystem≤w wej╢cia/wyj╢cia.
  487.   Rozwi▒zanie problemu I/O Digitala, to u┐ycie kilku niskopoziomowych
  488.   linii adresowych do zdefiniowania rozmiaru danych podczas przesy│ania
  489.   I/O, oraz do dekodowania tych danych jako bajt≤w. Jest to tzw.
  490.   rozproszone adresowanie (sparse addressing). Marnuje ono przestrze±
  491.   adresow▒ i powoduje fragmentacjΩ pamiΩci I/O (wiΩcej o skutkach
  492.   rozproszonego adresowania kiedy uda mi siΩ co╢ o tym napisaµ). Zauwa┐,
  493.   ┐e pamiΩµ I/O w tym kontek╢cie odnosi siΩ do wszystkich zasob≤w
  494.   systemowych PCI i dlatego odnosi siΩ zar≤wno do pamiΩci PCI, jak i do
  495.   przestrzeni adresowej PCI.
  496.  
  497.   Kiedy na rynek wyszed│ 21164A, architektura Alphy musia│a ju┐ zawieraµ
  498.   adresowanie bajt≤w. Wykonywanie tych nowych instrukcji na
  499.   wcze╢niejszych procesorach spowoduje wyj▒tek ,,OPCDEC'' kodu PAL, a
  500.   wtedy kod bΩdzie obs│ugiwa│ ten wyj▒tek, co bΩdzie mia│o wp│yw na
  501.   wydajno╢µ. Skutkiem tego powninno byµ (wg. mnie) ograniczenie
  502.   korzystania z tych instrukcji do sterownik≤w urz▒dze±, a nie kodu
  503.   aplikacji.
  504.  
  505.   Te nowe bajtowe obci▒┐enia i │adunki znacz▒, ┐e przysz│e chipsety bΩd▒
  506.   w stanie obs│ugiwaµ zdefragmentowan▒ przestrze± I/O.
  507.  
  508.  
  509.   9.  PALcode
  510.  
  511.  
  512.   To jest miejsce na sekcjΩ opisuj▒c▒ kod PAL. NapiszΩ j▒, je┐eli bΩdzie
  513.   wystarczaj▒ce zainteresowanie.
  514.  
  515.  
  516.   10.  Przenoszenie systemu na AlphΩ
  517.  
  518.  
  519.   Mo┐liwo╢µ uruchamiania Linuxa na ka┐dej maszynie z Alph▒ jest
  520.   ograniczona tylko twoimi mo┐liwo╢ciami zdobycia informacji ma│ych
  521.   detali jej wnΩtrza. Poniewa┐ istniej▒ wersje Linuxa na EB66, EB64+ i
  522.   EB164, wszystkie systemy oparte na 21066, 21064/APECS lub 21164/ALCOR
  523.   powinny dzia│aµ pod Linuxem z ma│ymi albo bez ┐adnych modyfikacji.
  524.   G│≤wna r≤┐nica pomiΩdzy tymi p│ytami g│≤wnymi, to spos≤b, w jaki
  525.   route'uj▒ przerwania. S▒ trzy ╝r≤d│a przerwa±:
  526.  
  527.  
  528.  
  529.   ╖  urz▒dzenia na p│ycie
  530.  
  531.   ╖  urz▒dzenia PCI
  532.  
  533.   ╖  urz▒dzenia ISA
  534.  
  535.   Wszystkie systemy u┐waj▒ mostku Intel System I/O (SIO), jako mostu PCI
  536.   <-> ISA (g│≤wna szyna I/O to PCI, ISA jest drugorzΩdn▒ szyn▒ u┐ywan▒
  537.   do obs│ugi wolniejszych i ,,wyw│aszczaj▒cych'' (ang. legacy)
  538.   urz▒dze±). SIO sk│ada siΩ z tradycyjnej, po│▒czonej pary 8259-tek.
  539.  
  540.   Niekt≤re systemy (np. NoName) route'uj▒ wszystkie przerwania przez SIO
  541.   do procesora, a inne maj▒ oddzielny kontroler przerwa± i route'uj▒
  542.   wszystkie przerwania PCI i przerwanie SIO (wyj╢cie 8295) przez niego,
  543.   a wszystkie przerwania ISA przez SIO.
  544.  
  545.   Inne r≤┐nice pomiΩdzy systemami to:
  546.  
  547.  
  548.   ╖  liczba slot≤w
  549.  
  550.   ╖  posiadane urz▒dzenia wbudowane w p│ytΩ
  551.  
  552.   ╖  posiadany Boot ROM - Flash lub EPROM
  553.  
  554.  
  555.   11.  WiΩcej informacji
  556.  
  557.  
  558.   Wszystkie p│yty ewaluacyjne Digital Semiconductor oraz projekty p│yt
  559.   g│≤wnych nie s▒ zastrze┐one, a ca│y zestaw dokumentacji do jednego
  560.   projektu kosztuje oko│o 50$.  Sk│adaj▒ siΩ na niego wszystkie
  561.   schematy, ╝r≤d│a czΩ╢ci programowalnych, arkusze danych dla procesora
  562.   i chipsetu. Zestawy dokumentacji mo┐na zakupiµ u dystrybutor≤w Digital
  563.   Semiconductors. Nie sugerujΩ tutaj, ┐eby szybko i╢µ i kupiµ te
  564.   zestawy, ale chcΩ zaznaczyµ, ┐e takie informacje s▒ dostΩpne.
  565.  
  566.   Mam nadziejΩ, ┐e to HOWTO by│o pomocne.
  567.   Komentarze/uaktualnienia/sugestie rozwoju przesy│aj do Neala Crooka.
  568.  
  569.  
  570.   12.  Bibliografia
  571.  
  572.  
  573.  
  574.   [1] Bill Hamburgen, Jeff Mogul, Brian Reid, Alan Eustace, Richard
  575.   Swan, Mary Jo Doherty i Joel Bartlett.
  576.   Opis Organicznych System≤w Iluminacyjnych. DEC WRL, Uwaga Techniczna
  577.   13, Kwiecie± 1989.
  578.  
  579.  
  580.   13.  Od t│umacza
  581.  
  582.  
  583.   Poniewa┐ by│o to HOWTO dosyµ skomplikowane pod wzglΩdem technicznym,
  584.   u┐y│em tutaj wielu wyra┐e± niezrozumia│ych dla ludzi nie zajmuj▒cych
  585.   siΩ elektronik▒ cyfrow▒. Jeden rzut oka do ksi▒┐ki o elektronice dla
  586.   pocz▒tkuj▒cych powinien rozwiaµ te w▒tpliwo╢ci.
  587.   To HOWTO jest jednym z dw≤ch potrzebnych do uruchomienia Linuxa na
  588.   Alfie.  Drugie to MILO-HOWTO, kt≤re znajduje siΩ w wersji polskiej na
  589.   serwerze projektu JTZ (http://www.jtz.org.pl/).  Opisuje ono program
  590.   │aduj▒cy Linuxa na AlfΩ (odpowiednik LILO).
  591.   Jak zwykle, je┐eli znajdziesz jakie╢ b│Ωdy albo masz ciekawe sugestie,
  592.   napisz do mnie.
  593.  
  594.  
  595.